<?php
//Clase Aplicacion
class Aplicacion {

    function Aplicacion($version = "") {
        $this->version = $version;
    }

    //Este metodo carga los controladores segun el nombre
    // Busca los controladores en los paquetes
    function cargarControlador($controlador = "index") {
        $controlador = ucfirst(strtolower($controlador));
        $controlador = 'controlador/Controlador' . $controlador . '.php';
        if (file_exists($controlador)) {
            require_once $controlador;
            return true;
        } else {
            return false;
        }
    }

    //Este metodo carga los modelos
    function cargarModelo($modelo) {
        $modelo = ucfirst(strtolower($modelo));
        $modelo = 'modelo/Modelo' . $modelo . '.php';
        if (file_exists($modelo)) {
            require_once $modelo;
            return true;
        } else {
            return false;
        }
    }
    //Este metodo carga las Vistas
    function cargarVista($vista) {
        $vista = ucfirst(strtolower($vista));
        $vista = 'vista/Vista' . $vista . '.php';
        if (file_exists($vista)) {
            require_once $vista;
            return true;
        } else {
            return false;
        }
    }
    //Si ocurre algun error devuelve el error con el tipo
    function error($mensaje = "Ocurrio un error inesperado!", $titulo = "Error del sistema") {
        echo '
        <div class="error">
          <h1>' . $titulo . '</h1>
          Error: ' . $mensaje . '
        </div>
      ';
    }
    //Carga las peticiones crea un arreglo global con las peticiones que llegaron al index
    function cargarRequest() {

        foreach ($_REQUEST as $var => $val):
            $val = trim($val);
            $val = urlencode($val);
            $this->$var = $val;

        endforeach;
    }

}

?>